#ifndef KEYMANAGER_H
#define KEYMANAGER_H

#include <QObject>
#include <QMap>
#include <QVector>

class KeyProxy;

class KeyManager : public QObject
{
    Q_OBJECT
public:
    explicit KeyManager(QObject *parent = 0);

    void keyPressed(Qt::Key key);
    void keyReleased(Qt::Key key);

    void addEvent(Qt::Key key, QObject *obj, const char *slotPressed, const char *slotReleased);
    void addReleaseEvent(Qt::Key key, QObject *obj, const char *slot);
    void addPressEvent(Qt::Key key, QObject *obj, const char *slot);
signals:

public slots:

private:
    QMap<Qt::Key, QVector<KeyProxy*> *> myObjects;
};

#endif // KEYMANAGER_H
